package cn.px.dao.dto.sb;

import cn.px.common.bean.BaseDTO;
import cn.px.common.validation.group.UpdateGroup;
import cn.px.dao.entity.upms.SysFile;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.persistence.Transient;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @Description 点检标准DTO
 * @author 品讯科技
 * @date 2024-08
 * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class SbMeasureLogDTO extends BaseDTO implements Serializable {

    /**
     * 主键
     */
    @NotNull(groups = {UpdateGroup.class}, message = "ID不能为空")
    private String id;
    /**
     * 设备id
     */
    @Transient
    private String sbId;
    /**
     * 准确度等级
     */
    @Transient
    private String fdjxh;
    /**
     * 设备id
     */
    @Transient
    private String sbNo;
    /**
     * 设备id
     */
    @Transient
    private String sbName;
    /**
     * 设备id
     */
    @Transient
    private String cardNo;
    /**
     * 被复制设备id
     */
    @Transient
    private String copySbId;
    /**
     * 标准名称
     */
    private String name;

    /**
     * 编码
     */
    private String no;

    @Transient
    private Integer checkPeriod;
    /**
     * 点检人id
     */
    private String checkUserId;
    /**
     * 计划周期
     */
    private Integer period;
    /**
     * 周期类型: 参考数据字典
     */
    private Integer periodType;
    /**
     * 执行日期
     */
    private LocalDate lastDate;
    /**
     * 上次生成时间
     */
    @Transient
    private LocalDateTime lastGenerateTime;
    /**
     * 上次生成小时，里程
     */
    @Transient
    private Integer lastNum;
    /**
     * 周期类型: 参考数据字典
     */
    private Integer actionType;
    /**
     * 检查类型: 1-点检 2-巡检
     */
    private Integer type;
    /**
     * 是否启用: 0-否 1-是
     */
    private Integer enable;
    /**
     * 设备部位
     */
    private String part;
    /**
     * 设备状态
     */
    @Transient
    private Integer sbStatus;
    /**
     * 标准工时
     */
    private String standardHours;
    /**
     * 实际工时
     */
    private String realHours;
    /**
     * 要求
     */
    private String requirement;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建人
     */
    private String createdUserId;

    /**
     * 更新人
     */
    private String updateUserId;

    /**
     * 创建人名称
     */
    private String createdUserName;

    /**
     * 更新人名称
     */
    private String updateUserName;

    /**
     * 创建时间
     */
    private LocalDateTime createdTime;
    /**
     * 创建开始时间
     */
    private String createdTimeStart;
    /**
     * 创建结束时间
     */
    private String createdTimeEnd;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
    /**
     * 更新开始时间
     */
    private String updateTimeStart;
    /**
     * 更新结束时间
     */
    private String updateTimeEnd;

    /**
     * 标准参数
     */
    /*private List<CheckStandardParamDTO> paramList;*/

    /**
     * 保养图片
     * */
    private List<SysFile> checkImgList;
    /**
     * 保养手册
     */
    private List<SysFile> checkFileList;

    /**
     * 搜索开始日期
     */
    private LocalDate searchStartTime;

    /**
     * 搜索结束日期
     */
    private LocalDate searchEndTime;
}
